gnss9 2.2.0
Loading...
Searching...
No Matches
gnss9.h File Reference

This file contains API for GNSS 9 Click Driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_i2c_master.h"
#include "drv_uart.h"

Go to the source code of this file.

Data Structures

struct  gnss9_s
 GNSS 9 Click context object. More...
struct  gnss9_cfg_t
 GNSS 9 Click configuration object. More...

Macros

#define GNSS9_RSP_START   "$"
 GNSS 9 response buffer commands.
#define GNSS9_RSP_DELIMITER   ","
#define GNSS9_RSP_END_SEQ   "\r\n"
#define GNSS9_RSP_GPGGA   "$GNGGA"
#define GNSS9_RSP_NO_FIX   ""
#define GNSS9_GPGGA_ELEMENT_SIZE   15
 GNSS 9 GPGGA command elements.
#define GNSS9_GPGGA_TIME   1
#define GNSS9_GPGGA_LATITUDE   2
#define GNSS9_GPGGA_LATITUDE_SIDE   3
#define GNSS9_GPGGA_LONGITUDE   4
#define GNSS9_GPGGA_LONGITUDE_SIDE   5
#define GNSS9_GPGGA_QUALITY_INDICATOR   6
#define GNSS9_GPGGA_NUMBER_OF_SATELLITES   7
#define GNSS9_GPGGA_H_DILUTION_OF_POS   8
#define GNSS9_GPGGA_ALTITUDE   9
#define GNSS9_GPGGA_ALTITUDE_UNIT   10
#define GNSS9_GPGGA_GEOIDAL_SEPARATION   11
#define GNSS9_GPGGA_GEOIDAL_SEPARATION_UNIT   12
#define GNSS9_GPGGA_TIME_SINCE_LAST_DGPS   13
#define GNSS9_GPGGA_DGPS_REFERENCE_STATION_ID   14
#define GNSS9_DUMMY   0xFF
 GNSS 9 dummy data.
#define GNSS9_DEVICE_ADDRESS   0x3A
 GNSS 9 device address setting.
#define GNSS9_DRV_TX_BUFFER_SIZE   100
 GNSS 9 driver buffer size.
#define GNSS9_DRV_RX_BUFFER_SIZE   500
#define GNSS9_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.

Typedefs

typedef err_t(* gnss9_master_io_t) (struct gnss9_s *, uint8_t *, uint8_t)
 GNSS 9 Click driver interface.
typedef struct gnss9_s gnss9_t
 GNSS 9 Click context object.

Enumerations

enum  gnss9_drv_t { GNSS9_DRV_SEL_UART , GNSS9_DRV_SEL_I2C }
 GNSS 9 Click driver selector. More...
enum  gnss9_return_value_t { GNSS9_OK = 0 , GNSS9_ERROR = -1 }
 GNSS 9 Click return value data. More...

Functions

void gnss9_cfg_setup (gnss9_cfg_t *cfg)
 GNSS 9 configuration object setup function.
void gnss9_drv_interface_selection (gnss9_cfg_t *cfg, gnss9_drv_t drv_sel)
 GNSS 9 driver interface setup function.
err_t gnss9_init (gnss9_t *ctx, gnss9_cfg_t *cfg)
 GNSS 9 initialization function.
err_t gnss9_generic_write (gnss9_t *ctx, uint8_t *data_in, uint8_t len)
 GNSS 9 data writing function.
err_t gnss9_generic_read (gnss9_t *ctx, uint8_t *data_out, uint8_t len)
 GNSS 9 data reading function.
void gnss9_set_rst_pin (gnss9_t *ctx, uint8_t state)
 GNSS 9 set RST pin function.
void gnss9_set_wup_pin (gnss9_t *ctx, uint8_t state)
 GNSS 9 set WUP pin function.
uint8_t gnss9_get_pps_pin (gnss9_t *ctx)
 GNSS 9 get PPS pin function.
void gnss9_reset_device (gnss9_t *ctx)
 GNSS 9 reset device function.
err_t gnss9_parse_gpgga (uint8_t *rsp_buf, uint8_t gpgga_element, uint8_t *element_data)
 GNSS 9 parse GPGGA function.

Detailed Description

This file contains API for GNSS 9 Click Driver.

Typedef Documentation

◆ gnss9_master_io_t

typedef err_t(* gnss9_master_io_t) (struct gnss9_s *, uint8_t *, uint8_t)

GNSS 9 Click driver interface.

Definition of driver interface of GNSS 9 Click driver. Driver serial interface.

◆ gnss9_t

typedef struct gnss9_s gnss9_t

GNSS 9 Click context object.

Context object definition of GNSS 9 Click driver.

Enumeration Type Documentation

◆ gnss9_drv_t

GNSS 9 Click driver selector.

Selects target driver interface of GNSS 9 Click driver.

Enumerator
GNSS9_DRV_SEL_UART 

UART driver descriptor.

GNSS9_DRV_SEL_I2C 

I2C driver descriptor.

◆ gnss9_return_value_t

GNSS 9 Click return value data.

Predefined enum values for driver return values.

Enumerator
GNSS9_OK 
GNSS9_ERROR